package model.persistence.vo;

import java.io.IOException;
import java.util.Set;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

@Entity
public class Cinema extends JMESerializable{
    
    private int id_cinema;
    
    private String nome;
    
    private Set<Sala> salas;
    
    private Bairro bairro;
    
    @Id
    public int getId_cinema() {
        return id_cinema;
    }
    
    public void setId_cinema(int id_cinema) {
        this.id_cinema = id_cinema;
    }
    
    public String getNome() {
        return nome;
    }
    
    public void setNome(String nome) {
        this.nome = nome;
    }
    
    @OneToMany(mappedBy = "cinema")
    public Set<Sala> getSalas() {
        return salas;
    }
    
    public void setSalas(Set<Sala> salas) {
        this.salas = salas;
    }
    
    @ManyToOne
    @JoinColumn(name = "id_bairro")
    public Bairro getBairro() {
        return bairro;
    }
    
    public void setBairro(Bairro bairro) {
        this.bairro = bairro;
    }
    
    public byte[] serialize() throws IOException, InterruptedException {
        initSerialize();
        
        dataOut.writeUTF(nome);
        dataOut.writeInt(id_cinema);
        
        return binayOut.toByteArray();
    }
    
    public void unserialize(byte[] data) throws IOException, InterruptedException {
    }
}